Kelsey Shi

返回

第三章学习笔记-视图、修改器、手势

#dev# #study#
发布于 2024-04-22

100 小时后请叫我苹果开发者

常见视图

文本视图

排版视图

绘图视图

控制视图

层级视图

信息视图

特殊视图

修改器

修改器的顺序在 SwiftUI 中将极为重要,使用完全相同的修改器,若顺序不同,则带来的结果可能截然不同。

基础文本修改器

字体.font ()

字间距及排版修改器

长文本相关修改器

文本框相关修改器

布局修改器

.frame(width: 300, height: 300)
.frame(minWidth: 0, idealWidth: 100, maxWidth: .infinity, minHeight: 0, idealHeight: 100, maxHeight: .infinity)

自定义修改器

// step 1
struct AvatarModifier: ViewModifier {
func body(content) -> some View {
content
. //此处放置待添加的一组修改器
}
}
// 1完成后,可以通过 .modifier(AvatarModifier()) 使用修改器
// setp 2
extension View {
func avatarStyle() -> some View {
self.modifier(AvatarModifier())
}
}
// 扩展View,这样修改器的用法就变成了.avatarStyle 更符合使用习惯

图片修改器

前景、背景处理

颜色

效果修改器

手势

基础手势

复杂手势

对于任意复杂手势来说,最常见的用法是新建一个变量代表你想要的手势,并将该变量放入 .gesture() 修改器中,以此来对视图增加该手势的支持。

手势优先级

在 SwiftUI 的手势系统中,若存在父级视图和子级视图都包含手势识别器的情况时,系统总会优先识别子视图中的手势。

提高手势优先级:由 .gesture() 改为 .highPriorityGesture()

最后编辑于 Invalid DateTime